package com.zzyl.nursing.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.zzyl.common.annotation.Excel;
import com.zzyl.common.core.domain.BaseEntity;

/**
 * 护理项目对象 nursing_project
 *
 * @author zzyl
 * @date 2025-02-20
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("nursing_project")
@ApiModel(description = "护理项目实体")
public class NursingProject extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 编号 */
    @TableId(value = "id",type = IdType.AUTO)
    @ApiModelProperty(value = "编号", example = "1")
    @Excel(name = "编号")
    private Long id;

    /** 名称 */
    @ApiModelProperty(value = "名称", example = "基础护理")
    @Excel(name = "名称")
    private String name;

    /** 排序号 */
    @ApiModelProperty(value = "排序号", example = "10")
    @Excel(name = "排序号")
    private Integer orderNo;

    /** 单位 */
    @ApiModelProperty(value = "单位", example = "次")
    @Excel(name = "单位")
    private String unit;

    /** 价格 */
    @ApiModelProperty(value = "价格", example = "100.00")
    @Excel(name = "价格")
    private BigDecimal price;

    /** 图片 */
    @ApiModelProperty(value = "图片", example = "http://example.com/image.jpg")
    @Excel(name = "图片")
    private String image;

    /** 护理要求 */
    @ApiModelProperty(value = "护理要求", example = "需提前预约")
    @Excel(name = "护理要求")
    private String nursingRequirement;

    /** 状态 */
    @ApiModelProperty(value = "状态", example = "1", notes = "0: 禁用, 1: 启用")
    @Excel(name = "状态")
    private Integer status;

    // Setters and Getters

    // public void setId(Long id) {
    //     this.id = id;
    // }
    //
    // public Long getId() {
    //     return id;
    // }
    //
    // public void setName(String name) {
    //     this.name = name;
    // }
    //
    // public String getName() {
    //     return name;
    // }
    //
    // public void setOrderNo(Integer orderNo) {
    //     this.orderNo = orderNo;
    // }
    //
    // public Integer getOrderNo() {
    //     return orderNo;
    // }
    //
    // public void setUnit(String unit) {
    //     this.unit = unit;
    // }
    //
    // public String getUnit() {
    //     return unit;
    // }
    //
    // public void setPrice(BigDecimal price) {
    //     this.price = price;
    // }
    //
    // public BigDecimal getPrice() {
    //     return price;
    // }
    //
    // public void setImage(String image) {
    //     this.image = image;
    // }
    //
    // public String getImage() {
    //     return image;
    // }
    //
    // public void setNursingRequirement(String nursingRequirement) {
    //     this.nursingRequirement = nursingRequirement;
    // }
    //
    // public String getNursingRequirement() {
    //     return nursingRequirement;
    // }
    //
    // public void setStatus(Integer status) {
    //     this.status = status;
    // }
    //
    // public Integer getStatus() {
    //     return status;
    // }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("name", getName())
                .append("orderNo", getOrderNo())
                .append("unit", getUnit())
                .append("price", getPrice())
                .append("image", getImage())
                .append("nursingRequirement", getNursingRequirement())
                .append("status", getStatus())
                .append("createBy", getCreateBy())
                .append("updateBy", getUpdateBy())
                .append("remark", getRemark())
                .append("createTime", getCreateTime())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}